perm filename JUSTXT.F4[NEW,LCS] blob sn#510982 filedate 1980-05-16 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		SUBROUTINE JUSTXT(R2,R4,R5)
C00005 ENDMK
CāŠ—;
	SUBROUTINE JUSTXT(R2,R4,R5)
	COMMON/RINP/RNO(2,250),NO(350),NP(250)
C ARRAY NO(X) USED IN 'MOVIT'. HOLDS ALL POINTS TO BE MOVED AT ANY TIME.
	COMMON /STF/RSTFAC(0/7),RSTJ2 /XRN/RN(1)
	COMMON R0,JA,CENTR,J2,RJQ(18),RX6,JR,L,RDIS,VY,JQ(17)
	1 /POSI/STFF(0/7),JJ2,POS /LIMIT/LIMIT,ITEM,LL,I,IX/PTR/KWDS(1)
	2 /ALF/INP(46),ACCX,ML,RRT,RZRO,NCNT,JSZ,OV,RSPC,KN,RA,RB,
	3 JLDGR,LDGR,JX,RW,RX,RY,RZ,JJ,RD,RQ,RE,RZZ,RN3,RN6,R44,R55
	EQUIVALENCE (R6,RJQ(4)),(R7,RJQ(5))
	1,(R3,RJQ(1)),(R8,RJQ(6)),(R9,RJQ(7)),(I2,INP(2))
	DATA RDX/1.5/
 
	R0=11
C R0 IS REALLY R2
	CALL GETPTS(1)
C GO SETUP NO ARRAY FOR MOVIT
	R44=R4
	R55=R5
	RD=RDX*RSTJ2
C RD IS IDEAL MINIMUM BETWEED CHAR. STRINGS
6	RE=9999.
	KN=0
	R9=0
	R8=0
	RZZ=0
	DO 1 K=1,ITEM
	J=KWDS(K)
	R=RN(J+1)
	IF(R.NE.16.)GO TO 1
	IF(RN(J+2).NE.R2)GO TO 1
C ASSUMES P9 HAS SPACE INFO
	JJ=KWDS(K+1)
	IF(RN(JJ+1).NE.16.)GO TO 2
	IF(RN(JJ).GT.7.)GO TO 1
C JUMP IF FOUND CONTINUING CHARS.  (P10=1)
2	RA=RN(J+3)
	IF(RA.LT.R4.OR.RA.GT.R5)GO TO 1
C NOW FIND NEXT WORD.
	RX=9999.
33	DO 3 JX=1,ITEM
	JR=KWDS(JX)
	R=RN(JR+1)
	IF(R.NE.16.)GO TO 3
	IF(RN(JR+2).NE.R2)GO TO 3
	RZ=RN(JR+3)
	IF(RZ.LE.RA)GO TO 3
	IF(RZ.GT.R5)GO TO 3
	IF(RZ.GE.RX)GO TO 3
	RX=RZ
3	CONTINUE
	IF(RX.EQ.9999.)GO TO 1
C NOW WE HAVE NEXT WD.
	RW=RA+RN(J+9)*RN(J+5)*RSTJ2
C RW = POS. OF 1ST CHAR + WIDTH OF CHAR. STRING
	RQ=RX-RW-RD
	IF(RQ.GE.0)GO TO 1
CC	RZZ=RZZ-RQ*1.5
	RQ=RQ*1.5
	R5=R5-RQ
C  RZZ=AMOUNT TO MOVE
	R8=-RQ
	KN=-1
4	CALL MOVIT(RN,NO,RX,RE,R8,R9)
1	CONTINUE
	R9=200
	R8=0
	R4=0
5	CALL MOVIT(RN,NO,R4,R5,R8,R9)
	IF(KN.EQ.0)RETURN 
	RD=RD-.5
	R4=R44
	R5=R55
	GO TO 6
	END